The present invention relates generally to graphical user interfaces, and more particularly to displaying and/or saving user options for a client application.
Most modern computer software employs a graphical user interface (GUI) to convey information to and receive commands from users. The graphical user interface relies on a variety of graphical user interface elements or objects, including icons, text, drop-down menus, dialog boxes, toolbars, buttons, and the like. A user typically interacts with a graphical user interface by using a pointing device (e.g., a mouse) to position a pointer or cursor over an object and xe2x80x9cclickingxe2x80x9d on the object. An example of an operating system that provides a graphical user interface is the Microsoft WINDOWS operating system, which is manufactured and sold by Microsoft Corporation of Redmond, Wash.
Drop-down menus are used to organize numerous computer commands into major headings, which are displayed in a menu bar that typically appears along the top of a window. Each heading represents a menu that is displayed when the user clicks on the heading. This menu allows access to numerous commands that are listed in the drop down menu. A user may select a particular command by moving the pointing device to highlight the command and then pressing a mouse button to select the highlighted command. Thus, drop-down menus provide a space-efficient means for organizing and displaying numerous commands.
When a user selects a command from a drop-down menu, a dialog box is typically displayed. The dialog box is more generically called an options page since it provides the user with various options or settings, which are user definable. For example, the options page includes a variety of user interface elements that allow the user to customize or control the application to the user""s liking.
Most users are familiar with option pages in client applications. For example, in Microsoft Word, option pages are used to control many aspects of a word processing document, such as the format of paragraphs, the paper size, the margins, etc. With the recent growth of networks, such as the Internet, the ability to accept user options are now becoming familiar for interaction with server computers. In such networking applications, option pages are typically used to allow a user to customize settings of applications stored on the server computer. For example, some Web sites allow each user to customize the content displayed when the user accesses the site. Such customization is implemented through an options page where the user is given options on topics of information (e.g., stocks, sports, travel, etc.) displayed whenever the user accesses the Web site. The user""s customization settings may be stored on the client computer or the server computer. Whether stored on the client or server, cookies are typically stored on the client and are passed to the server when the user accesses the site. The server uses the cookies to access the customization settings and displays the customized Web page to the user.
In general, option pages are hard-coded into client applications. Consequently, the option pages cannot be changed without installing a new version of software onto the client computer. For some network-based applications, the hard coding of the option page is problematic. For example, a client application called xe2x80x9cNews Alertxe2x80x9d periodically checks MSNBC.COM for new stories in topics that the user selected. If a new story is available in a selected topic, the client is notified. The user may then view a small abstract of the story and download the entire story, if desired. The set of stories the user can select from in News Alert changes regularly based on hot topics in the news. For example, if a presidential scandal erupts in the news, it is desirable to have an option in an options page that a user can select to view stories for that specific topic. However, with the option page hard-coded, the only way to provide the user with the new option is to download an updated version of the entire News Alert application to the client computer.
Other problems also occur because of the hard coding of option pages. Specifically, the code and resources needed to display the options page substantially increase the size of the client application. A larger client application takes longer for users to download from a server computer and requires more available storage on the client computer. Additionally, it is desirable for the server computer to be able to examine the user settings so that the users may be invited to change the settings based on current activities.
It is desirable, therefore, to provide a system and method wherein user options can be easily updated in a client application.
A method and apparatus is disclosed that overcomes the shortcomings of prior techniques for displaying option pages for applications running on a client computer. Instead of hard coding the options page within the client application, the options page is stored on a server computer and can be updated dynamically without modifying the client application.
In one aspect, the user requests to view the options page using menu commands displayed by the client application. In response to the user request, the client application launches a browser, if necessary, and passes the current settings for the options page to the browser along with an address pointing to the location of the options page on a server computer. The browser connects to the server computer specified in the URL, requests the page associated with the address, and passes the user settings to the server computer. The server computer generates a current version of the options page, initializes the options page by applying the user settings to the options page, and downloads the initialized options page to the browser for display to the user.
In another aspect, the user can modify the options page to customize the client application. First, the user makes changes to the options page in the browser and selects a xe2x80x9csavexe2x80x9d button. The browser then sends the changes to the server and the server returns the changes to the browser as a special file type. The browser uses a helper function to handle the special file type and launches an application that saves the user settings on the client computer.
Further features and advantages of the invention will become apparent with reference to the following detailed description and accompanying drawings.